home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / yacc / flexyacc / aflex.lha / aflex / src / symS.a < prev    next >
Text File  |  1991-05-16  |  2KB  |  53 lines

  1. -- Copyright (c) 1990 Regents of the University of California.
  2. -- All rights reserved.
  3. --
  4. -- This software was developed by John Self of the Arcadia project
  5. -- at the University of California, Irvine.
  6. --
  7. -- Redistribution and use in source and binary forms are permitted
  8. -- provided that the above copyright notice and this paragraph are
  9. -- duplicated in all such forms and that any documentation,
  10. -- advertising materials, and other materials related to such
  11. -- distribution and use acknowledge that the software was developed
  12. -- by the University of California, Irvine.  The name of the
  13. -- University may not be used to endorse or promote products derived
  14. -- from this software without specific prior written permission.
  15. -- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16. -- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17. -- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  
  19. -- TITLE symbol table routines
  20. -- AUTHOR: John Self (UCI)
  21. -- DESCRIPTION implements only a simple symbol table using open hashing
  22. -- NOTES could be faster, but it isn't used much
  23. -- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/symS.a,v 1.4 90/01/12 15:20:42 self Exp Locker: self $ 
  24.  
  25. with TSTRING; 
  26. with MISC_DEFS; 
  27. package SYM is 
  28.  
  29.   use TSTRING; 
  30.   use MISC_DEFS; 
  31.  
  32.   procedure ADDSYM(SYM, STR_DEF : in VSTRING; 
  33.                    INT_DEF      : in INTEGER; 
  34.                    TABLE        : in out HASH_TABLE; 
  35.                    TABLE_SIZE   : in INTEGER; 
  36.                    RESULT       : out BOOLEAN); 
  37.   -- result indicates success
  38.   procedure CCLINSTAL(CCLTXT : in VSTRING; 
  39.                       CCLNUM : in INTEGER); 
  40.   function CCLLOOKUP(CCLTXT : in VSTRING) return INTEGER; 
  41.   function FINDSYM(SYMBOL     : in VSTRING; 
  42.                    TABLE      : in HASH_TABLE; 
  43.                    TABLE_SIZE : in INTEGER) return HASH_LINK; 
  44.  
  45.   function HASHFUNCT(STR       : in VSTRING; 
  46.                      HASH_SIZE : in INTEGER) return INTEGER; 
  47.   procedure NDINSTAL(ND, DEF : in VSTRING); 
  48.   function NDLOOKUP(ND : in VSTRING) return VSTRING; 
  49.   procedure SCINSTAL(STR     : in VSTRING; 
  50.                      XCLUFLG : in BOOLEAN); 
  51.   function SCLOOKUP(STR : in VSTRING) return INTEGER; 
  52. end SYM; 
  53.